/// medicineName : "头孢颗粒"
/// warehouseId : 4687855721181184
/// company : "中和"
/// brand : "头孢颗粒冲剂"
/// specification : "5g/粒"
/// specificationUnit : "76001"
/// specificationValue : 5
/// validityTerm : "2025年"
/// seniorUnit : "70002"
/// juniorUnit : "71002"
/// transferFactor : 12
/// seniorUnitDesc : "盒"
/// juniorUnitDesc : "粒"
/// specificationUnitDesc : "g"
/// cabinetName : "李洁1"
/// warehouseName : "自带药药库"
/// type : "73002"
/// typeName : "非处方药"
/// seniorDesc : "0盒"
/// juniorDesc : "9.0粒"
/// totalMedicine : "9粒"
/// estimateRunoutDate : "2024-07-29 10:55:50"
/// specificationNorm : "头孢"
/// cabinetId : 4687856064032768
/// customerElderId : 9067
/// serialNo : null
/// medicineId : 4687858650198016
/// productionDate : null
/// expiryDate : "2024-11-15 00:00:00"
/// seniorCount : 0
/// juniorCount : 9.00
/// minimumCount : 0.00
/// deleteStatus : null
/// branchId : null
/// tenantId : null
/// accCode : null
/// saasId : null
/// id : null
/// createdBy : null
/// createdDate : null
/// updatedBy : null
/// updatedDate : null

class SelfMedicineLibraryData {
  SelfMedicineLibraryData({
      this.medicineName, 
      this.warehouseId, 
      this.company, 
      this.brand, 
      this.specification, 
      this.specificationUnit, 
      this.specificationValue, 
      this.validityTerm, 
      this.seniorUnit, 
      this.juniorUnit, 
      this.transferFactor, 
      this.seniorUnitDesc, 
      this.juniorUnitDesc, 
      this.specificationUnitDesc, 
      this.cabinetName, 
      this.warehouseName, 
      this.type, 
      this.typeName, 
      this.seniorDesc, 
      this.juniorDesc, 
      this.totalMedicine, 
      this.estimateRunoutDate, 
      this.specificationNorm, 
      this.cabinetId, 
      this.customerElderId, 
      this.serialNo, 
      this.medicineId, 
      this.productionDate, 
      this.expiryDate, 
      this.seniorCount, 
      this.juniorCount, 
      this.minimumCount, 
      this.deleteStatus, 
      this.branchId, 
      this.tenantId, 
      this.accCode, 
      this.saasId, 
      this.id, 
      this.createdBy, 
      this.createdDate, 
      this.updatedBy, 
      this.updatedDate,});

  SelfMedicineLibraryData.fromJson(dynamic json) {
    medicineName = json['medicineName'];
    warehouseId = json['warehouseId'];
    company = json['company'];
    brand = json['brand'];
    specification = json['specification'];
    specificationUnit = json['specificationUnit'];
    specificationValue = json['specificationValue'];
    validityTerm = json['validityTerm'];
    seniorUnit = json['seniorUnit'];
    juniorUnit = json['juniorUnit'];
    transferFactor = json['transferFactor'];
    seniorUnitDesc = json['seniorUnitDesc'];
    juniorUnitDesc = json['juniorUnitDesc'];
    specificationUnitDesc = json['specificationUnitDesc'];
    cabinetName = json['cabinetName'];
    warehouseName = json['warehouseName'];
    type = json['type'];
    typeName = json['typeName'];
    seniorDesc = json['seniorDesc'];
    juniorDesc = json['juniorDesc'];
    totalMedicine = json['totalMedicine'];
    estimateRunoutDate = json['estimateRunoutDate'];
    specificationNorm = json['specificationNorm'];
    cabinetId = json['cabinetId'];
    customerElderId = json['customerElderId'];
    serialNo = json['serialNo'];
    medicineId = json['medicineId'];
    productionDate = json['productionDate'];
    expiryDate = json['expiryDate'];
    seniorCount = json['seniorCount'];
    juniorCount = json['juniorCount'];
    minimumCount = json['minimumCount'];
    deleteStatus = json['deleteStatus'];
    branchId = json['branchId'];
    tenantId = json['tenantId'];
    accCode = json['accCode'];
    saasId = json['saasId'];
    id = json['id'];
    createdBy = json['createdBy'];
    createdDate = json['createdDate'];
    updatedBy = json['updatedBy'];
    updatedDate = json['updatedDate'];
  }
  String? medicineName;
  num? warehouseId;
  String? company;
  String? brand;
  String? specification;
  String? specificationUnit;
  num? specificationValue;
  String? validityTerm;
  String? seniorUnit;
  String? juniorUnit;
  num? transferFactor;
  String? seniorUnitDesc;
  String? juniorUnitDesc;
  String? specificationUnitDesc;
  String? cabinetName;
  String? warehouseName;
  String? type;
  String? typeName;
  String? seniorDesc;
  String? juniorDesc;
  String? totalMedicine;
  String? estimateRunoutDate;
  String? specificationNorm;
  num? cabinetId;
  num? customerElderId;
  dynamic serialNo;
  num? medicineId;
  dynamic productionDate;
  String? expiryDate;
  num? seniorCount;
  num? juniorCount;
  num? minimumCount;
  dynamic deleteStatus;
  dynamic branchId;
  dynamic tenantId;
  dynamic accCode;
  dynamic saasId;
  dynamic id;
  dynamic createdBy;
  dynamic createdDate;
  dynamic updatedBy;
  dynamic updatedDate;
SelfMedicineLibraryData copyWith({  String? medicineName,
  num? warehouseId,
  String? company,
  String? brand,
  String? specification,
  String? specificationUnit,
  num? specificationValue,
  String? validityTerm,
  String? seniorUnit,
  String? juniorUnit,
  num? transferFactor,
  String? seniorUnitDesc,
  String? juniorUnitDesc,
  String? specificationUnitDesc,
  String? cabinetName,
  String? warehouseName,
  String? type,
  String? typeName,
  String? seniorDesc,
  String? juniorDesc,
  String? totalMedicine,
  String? estimateRunoutDate,
  String? specificationNorm,
  num? cabinetId,
  num? customerElderId,
  dynamic serialNo,
  num? medicineId,
  dynamic productionDate,
  String? expiryDate,
  num? seniorCount,
  num? juniorCount,
  num? minimumCount,
  dynamic deleteStatus,
  dynamic branchId,
  dynamic tenantId,
  dynamic accCode,
  dynamic saasId,
  dynamic id,
  dynamic createdBy,
  dynamic createdDate,
  dynamic updatedBy,
  dynamic updatedDate,
}) => SelfMedicineLibraryData(  medicineName: medicineName ?? this.medicineName,
  warehouseId: warehouseId ?? this.warehouseId,
  company: company ?? this.company,
  brand: brand ?? this.brand,
  specification: specification ?? this.specification,
  specificationUnit: specificationUnit ?? this.specificationUnit,
  specificationValue: specificationValue ?? this.specificationValue,
  validityTerm: validityTerm ?? this.validityTerm,
  seniorUnit: seniorUnit ?? this.seniorUnit,
  juniorUnit: juniorUnit ?? this.juniorUnit,
  transferFactor: transferFactor ?? this.transferFactor,
  seniorUnitDesc: seniorUnitDesc ?? this.seniorUnitDesc,
  juniorUnitDesc: juniorUnitDesc ?? this.juniorUnitDesc,
  specificationUnitDesc: specificationUnitDesc ?? this.specificationUnitDesc,
  cabinetName: cabinetName ?? this.cabinetName,
  warehouseName: warehouseName ?? this.warehouseName,
  type: type ?? this.type,
  typeName: typeName ?? this.typeName,
  seniorDesc: seniorDesc ?? this.seniorDesc,
  juniorDesc: juniorDesc ?? this.juniorDesc,
  totalMedicine: totalMedicine ?? this.totalMedicine,
  estimateRunoutDate: estimateRunoutDate ?? this.estimateRunoutDate,
  specificationNorm: specificationNorm ?? this.specificationNorm,
  cabinetId: cabinetId ?? this.cabinetId,
  customerElderId: customerElderId ?? this.customerElderId,
  serialNo: serialNo ?? this.serialNo,
  medicineId: medicineId ?? this.medicineId,
  productionDate: productionDate ?? this.productionDate,
  expiryDate: expiryDate ?? this.expiryDate,
  seniorCount: seniorCount ?? this.seniorCount,
  juniorCount: juniorCount ?? this.juniorCount,
  minimumCount: minimumCount ?? this.minimumCount,
  deleteStatus: deleteStatus ?? this.deleteStatus,
  branchId: branchId ?? this.branchId,
  tenantId: tenantId ?? this.tenantId,
  accCode: accCode ?? this.accCode,
  saasId: saasId ?? this.saasId,
  id: id ?? this.id,
  createdBy: createdBy ?? this.createdBy,
  createdDate: createdDate ?? this.createdDate,
  updatedBy: updatedBy ?? this.updatedBy,
  updatedDate: updatedDate ?? this.updatedDate,
);
  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['medicineName'] = medicineName;
    map['warehouseId'] = warehouseId;
    map['company'] = company;
    map['brand'] = brand;
    map['specification'] = specification;
    map['specificationUnit'] = specificationUnit;
    map['specificationValue'] = specificationValue;
    map['validityTerm'] = validityTerm;
    map['seniorUnit'] = seniorUnit;
    map['juniorUnit'] = juniorUnit;
    map['transferFactor'] = transferFactor;
    map['seniorUnitDesc'] = seniorUnitDesc;
    map['juniorUnitDesc'] = juniorUnitDesc;
    map['specificationUnitDesc'] = specificationUnitDesc;
    map['cabinetName'] = cabinetName;
    map['warehouseName'] = warehouseName;
    map['type'] = type;
    map['typeName'] = typeName;
    map['seniorDesc'] = seniorDesc;
    map['juniorDesc'] = juniorDesc;
    map['totalMedicine'] = totalMedicine;
    map['estimateRunoutDate'] = estimateRunoutDate;
    map['specificationNorm'] = specificationNorm;
    map['cabinetId'] = cabinetId;
    map['customerElderId'] = customerElderId;
    map['serialNo'] = serialNo;
    map['medicineId'] = medicineId;
    map['productionDate'] = productionDate;
    map['expiryDate'] = expiryDate;
    map['seniorCount'] = seniorCount;
    map['juniorCount'] = juniorCount;
    map['minimumCount'] = minimumCount;
    map['deleteStatus'] = deleteStatus;
    map['branchId'] = branchId;
    map['tenantId'] = tenantId;
    map['accCode'] = accCode;
    map['saasId'] = saasId;
    map['id'] = id;
    map['createdBy'] = createdBy;
    map['createdDate'] = createdDate;
    map['updatedBy'] = updatedBy;
    map['updatedDate'] = updatedDate;
    return map;
  }

}